﻿Imports System.ComponentModel

Public Class NaamWinkelierForm

    Public ReadOnly Property Naam() As String
        Get
            Return tbNaam.Text.Trim()
        End Get
    End Property

    Public Sub New(ByVal prf As PerformantieHelper)

        ' This call is required by the Windows Form Designer.
        InitializeComponent()

        ' Add any initialization after the InitializeComponent() call.
        AutoValidate = AutoValidate.Disable
    End Sub

    Protected Overrides Sub OnKeyUp(ByVal e As KeyEventArgs)
        MyBase.OnKeyUp(e)
        Select Case e.KeyCode
            Case Keys.F2
                If (Not btnOK.Enabled) Then Return
                btnOK_Click(Me, EventArgs.Empty)
            Case Keys.F12
                Me.Close()
        End Select
    End Sub

    Protected Overrides Sub OnClosing(ByVal e As CancelEventArgs)
        MyBase.OnClosing(e)
        If (Me.DialogResult = Windows.Forms.DialogResult.OK) Then
            If (Not ValidateChildren()) Then
                e.Cancel = True
            End If
        End If
    End Sub

    Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click
        Security.HuidigeWinkelierNaam = Naam
        If (Not Security.GeldigeWinkelier) Then
            'MsgBox.ShowError("Deze winkelier is niet gekend. Probeer opnieuw")
            ErrorProvider1.SetError(tbNaam, "Deze winkelier is niet gekend. Probeer opnieuw")
        Else
            Me.DialogResult = Windows.Forms.DialogResult.OK
            Me.Close()
        End If
    End Sub

    Private Sub tbNaam_Validating(ByVal sender As System.Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles tbNaam.Validating
        ' zelfde code omdat de code hierboven bij de AcceptButton (hier OK)
        ' niet uitgevoerd wordt
        Security.HuidigeWinkelierNaam = Naam
        If (Not Security.GeldigeWinkelier) Then
            e.Cancel = True
            MsgBox.ShowError("Deze winkelier is niet gekend. Probeer opnieuw")
            ErrorProvider1.SetError(tbNaam, "Deze winkelier is niet gekend. Probeer opnieuw")
        End If
    End Sub

End Class